

/**
 * 学生类
 */
public class Student {
    // 学生姓名
    String name;
    // 学生学号
    String id;
    // 学生年龄
    int age;
    // 学生成绩
    double score;
    // 学生性别
    char gender;
    // 所属学院
    String college;
    // 学生所属专业
    String major;

    public Student() {
        System.out.println("无参构造方法");
    }

    public Student(String name) {
        /**
         * this 关键字：代表当前对象
         * this的用法：
         *      访问属性：this.属性名
         *      调用方法：this.方法名()
         *      this([参数])：调用构造器，注意：该语句必须位于构造方法的第一句代码
         * 当属性名与参数名一致的时候，需要使用this关键区分
         */
        this();

        this.name = name;
        /**
         * 当不写this的时候编译器会默认补充this
         * study()
         */
        this.study();
    }

    /**
     * 要求：通过构造方法将所有属性初始化，并且属性值需要通过构造方法传进来
     */
    public Student(String name, String id, int age, double score, char gender, String college, String major) {
        this.name = name;
        this.id = id;
        this.age = age;
        this.score = score;
        this.gender = gender;
        this.college = college;
        this.major = major;
    }




    public void study() {
        // 调用构造器
//        this(); 语法错误，this()只能在构造方法中使用
        System.out.println("学生正在学习");
    }

}
